using System;
using System.Data;
using System.Data.SqlTypes;
using System.Data.SqlClient;

namespace DataEntity
{
	public class T_Report_Plan : DBInteractionBase
	{
		#region Class Member Declarations
			private SqlDateTime		_report_Plan_ExchangeDate;
			private SqlInt32		_report_Plan_Audit, _report_Plan_ExchangeTypeID;
			private SqlDecimal		_report_Plan_ProjectDep, _report_Plan_Referral, _report_Plan_Comm;
			private SqlString		_report_Plan_PayRemark, _report_Plan_Remark, _report_Plan_ReportNO;
            private SqlGuid         _report_Plan_ID, _report_Plan_ProjectID;
		#endregion


		#region Class Property Declarations
		public SqlGuid Report_Plan_ID
		{
			get
			{
				return _report_Plan_ID;
			}
			set
			{
				_report_Plan_ID = value;
			}
		}


        public SqlGuid Report_Plan_ProjectID
        {
            get
            {
                return _report_Plan_ProjectID;
            }
            set
            {
                _report_Plan_ProjectID = value;
            }
        }

		public SqlInt32 Report_Plan_ExchangeTypeID
		{
			get
			{
				return _report_Plan_ExchangeTypeID;
			}
			set
			{
				SqlInt32 report_Plan_ExchangeTypeIDTmp = (SqlInt32)value;
				if(report_Plan_ExchangeTypeIDTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_ExchangeTypeID", "Report_Plan_ExchangeTypeID can't be NULL");
				}
				_report_Plan_ExchangeTypeID = value;
			}
		}


		public SqlDateTime Report_Plan_ExchangeDate
		{
			get
			{
				return _report_Plan_ExchangeDate;
			}
			set
			{
				SqlDateTime report_Plan_ExchangeDateTmp = (SqlDateTime)value;
				if(report_Plan_ExchangeDateTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_ExchangeDate", "Report_Plan_ExchangeDate can't be NULL");
				}
				_report_Plan_ExchangeDate = value;
			}
		}


		public SqlString Report_Plan_ReportNO
		{
			get
			{
				return _report_Plan_ReportNO;
			}
			set
			{
				SqlString report_Plan_ReportNOTmp = (SqlString)value;
				if(report_Plan_ReportNOTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_ReportNO", "Report_Plan_ReportNO can't be NULL");
				}
				_report_Plan_ReportNO = value;
			}
		}



		public SqlDecimal Report_Plan_Comm
		{
			get
			{
				return _report_Plan_Comm;
			}
			set
			{
				SqlDecimal report_Plan_CommTmp = (SqlDecimal)value;
				if(report_Plan_CommTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_Comm", "Report_Plan_Comm can't be NULL");
				}
				_report_Plan_Comm = value;
			}
		}


		public SqlDecimal Report_Plan_ProjectDep
		{
			get
			{
				return _report_Plan_ProjectDep;
			}
			set
			{
				SqlDecimal report_Plan_ProjectDepTmp = (SqlDecimal)value;
				if(report_Plan_ProjectDepTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_ProjectDep", "Report_Plan_ProjectDep can't be NULL");
				}
				_report_Plan_ProjectDep = value;
			}
		}


		public SqlDecimal Report_Plan_Referral
		{
			get
			{
				return _report_Plan_Referral;
			}
			set
			{
				SqlDecimal report_Plan_ReferralTmp = (SqlDecimal)value;
				if(report_Plan_ReferralTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_Referral", "Report_Plan_Referral can't be NULL");
				}
				_report_Plan_Referral = value;
			}
		}


		public SqlString Report_Plan_PayRemark
		{
			get
			{
				return _report_Plan_PayRemark;
			}
			set
			{
				SqlString report_Plan_PayRemarkTmp = (SqlString)value;
				if(report_Plan_PayRemarkTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_PayRemark", "Report_Plan_PayRemark can't be NULL");
				}
				_report_Plan_PayRemark = value;
			}
		}


		public SqlString Report_Plan_Remark
		{
			get
			{
				return _report_Plan_Remark;
			}
			set
			{
				SqlString report_Plan_RemarkTmp = (SqlString)value;
				if(report_Plan_RemarkTmp.IsNull)
				{
					throw new ArgumentOutOfRangeException("Report_Plan_Remark", "Report_Plan_Remark can't be NULL");
				}
				_report_Plan_Remark = value;
			}
		}


		public SqlInt32 Report_Plan_Audit
		{
			get
			{
				return _report_Plan_Audit;
			}
			set
			{
                //SqlInt32 report_Plan_AuditTmp = (SqlInt32)value;
                //if(report_Plan_AuditTmp.IsNull)
                //{
                //    throw new ArgumentOutOfRangeException("Report_Plan_Audit", "Report_Plan_Audit can't be NULL");
                //}
				_report_Plan_Audit = value;
			}
		}
		#endregion
	}
}
